<!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="content-Type" charset="UTF-8">
    <meta http-equiv="x-ua-compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Title</title>
</head>
<body>
<h1>列表</h1>
{{ ls }}
<br>
<h2>取列表的索引</h2>
{{ ls.0 }}
{{ ls.1 }}
{{ ls.2 }}
<br>
<h1>字典</h1>
{{ dic }}
<br>
<h2>取字典的value</h2>
{{ dic.name }}
<br>
<h1>对象</h1>
<p>{{ weixinyu.name }}: 字 {{ weixinyu.dream }}</p>
<p>{{ chenjun.name }}: 字 {{ chenjun.dream }}</p>
<br>
<h1>模板语言过滤器</h1>
<h2>lower过滤器</h2>
<p>将字符串转换成小写</p>
<p>源数据: {{ name2 }}</p>
<p>过滤后的数据: {{ name2|lower }}</p>
<br>
<h2>join过滤器, 使用字符串连接列表，例如Python的str.join(list)</h2>
<p>将列表中的元素用'-'连接</p>
<p>源数据: {{ ls }}</p>
<p>处理后的数据: {{ ls|join:'-' }}</p>
<br>
<h2>default 过滤器, 设置默认值</h2>
<p>如果前端传的变量在后端没有发送到前端, 则模板语法会将其返回一个空字符串, 页面上显示什么都没有</p>
<p>default过滤器将这样的变量定义一个默认值</p>
<p>源数据: {{ s14 }}</p>
<p>{{ s14|default:'s14这个变量是个空值' }}</p>
<br>
<h2>lenth过滤器, 计算数据的长度</h2>
<p>源数据: {{ ls }}</p>
<p>列表ls的长度是: {{ ls|length }}</p>
<br>
<h2>filesizeformat过滤器, 将数值换成人类易读的文件的单位</h2>
<p>源数据: {{ file_size }}</p>
<p>处理后的数据: {{ file_size|filesizeformat }}</p>
<br>
<h2>slice过滤器: 切片</h2>
<p>源数据: {{ name2 }}</p>
<p>取除第一个字符外的所有数据: {{ name2|slice:'1:-1' }}</p>
<p>取除第一个字符外的所有数据, 步长为2:  {{ name2|slice:'1:-1:2' }}</p>
<br>
<h2>data过滤器: 指定时间格式</h2>
<p>源数据: {{ now }}</p>
<p>处理后的数据: {{ now|date:'Y-m-d H:i:s' }}</p>
<br>
<h2>safe过滤器, 将html字符串在浏览器渲染成html格式的数据(取消对html标签的转义)</h2>
<p>源数据: {{ html }}</p>
<p>处理后的数据: {{ html|safe }}</p>
<br>
<h2>truncatechars过滤器,如果截取的数量小于文本数量, 则最后三个字符会用...表示 </h2>
<p>源数据:  {{ s1 }}</p>
<p>处理后的数据: {{ s1|truncatechars:5 }}</p>
<br>
<p>源数据: {{ s2 }}</p>
<p>处理后的数据: {{ s2|truncatechars:5 }}</p>
<br>
<h2>truncatewords过滤器, 截取单词, 通过空格来区分单词, 如果截取的字符数小于数据的总长度, 则剩下的字符数用...来代替</h2>
<p>源数据: {{ s1 }}</p>
<p>处理后的数据: {{ s1|truncatewords:7}}</p>
<br>
<p>源数据: {{ s2 }}</p>
<p>处理后的数据: {{ s2|truncatewords:7}}</p>
<br>
<h2>cut过滤器:  移除value中所有的与给出的变量相同的字符串</h2>
<p>源数据: {{ s2 }}</p>
<p>处理后的数据: {{ s2|cut:' ' }}</p>
<br>
<h2>timesince过滤器, 变量的时间距离现在的时间多久了, 变量的时间必须是过去的时间</h2>
<p>源数据: {{ comment_date }}</p>
<p>处理后的数据: {{ comment_date|timesince }}</p>
<br>
<h2>timeuntil过滤器, 现在距离变量的时间距离还有多久, 变量的时间必须是未来的时间</h2>
<p>源数据: {{ from_date }}</p>
<p>处理后的数据: {{ from_date|timeuntil }}</p>
<br>
<h2>自定义filter</h2>
<p>源数据: {{ name2 }}</p>
处理后的数据:
{% load filter%}
   <p> {{ name2|generator_sb }}</p>
    <p>{{ name2|add_str:'大好人' }}</p>

</body>
</html>